package com.tjn.annotation_;

/**
 * @author 陶镓妮
 * @version 1.0
 */
public class Override_ {
    public static void main(String[] args) {

    }
}
//下面是Override的源码
/*
    @Target(ElementType.METHOD)  //代表Override注解只能用于方法
    @Retention(RetentionPolicy.SOURCE)  //代表运行时保留，即编译器会保留，但jvm不会保留
    public @interface Override {  //@interface不是接口，而是注解
    }
 */
//@Target，@Retention，@Documented，@Inherited都是元注解，元注解是修饰注解的注解

class Father{//父类
    public void fly(){
        System.out.println("Father fly...");
    }
    public void say(){}
}
class Son extends Father{
    @Override//不写也可以
    //@Override可以用来检测此方法是否真的重写了父类的方法，
    // 如果的确重写了，那么编译通过，如果没有构成重写，那么会报错
    public void fly() {
        System.out.println("Son fly");
    }
}